home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.004 / xemacs-1 / xemacs-19.13 / Makefile.in < prev    next >
Encoding:
Makefile  |  1995-08-28  |  19.9 KB  |  535 lines

  1. # DIST: This is the distribution Makefile for XEmacs.  configure can
  2. # DIST: make most of the changes to this file you might want, so try
  3. # DIST: that first.
  4.  
  5. # make all    to compile and build XEmacs.
  6. # make install    to install it.
  7. # make TAGS    to update tags tables.
  8. #
  9. # make clean  or  make mostlyclean
  10. #      Delete all files from the current directory that are normally
  11. #      created by building the program.     Don't delete the files that
  12. #      record the configuration.  Also preserve files that could be made
  13. #      by building, but normally aren't because the distribution comes
  14. #      with them.
  15. #
  16. #      Delete `.dvi' files here if they are not part of the distribution.
  17. # make distclean
  18. #      Delete all files from the current directory that are created by
  19. #      configuring or building the program.  If you have unpacked the
  20. #      source and built the program without creating any other files,
  21. #      `make distclean' should leave only the files that were in the
  22. #      distribution.
  23. # make realclean
  24. #      Delete everything from the current directory that can be
  25. #      reconstructed with this Makefile.  This typically includes
  26. #      everything deleted by distclean, plus more: C source files
  27. #      produced by Bison, tags tables, info files, and so on.
  28. #
  29. # make extraclean
  30. #      Still more severe - delete backup and autosave files, too.
  31.  
  32. SHELL = /bin/sh
  33. @SET_MAKE@
  34.  
  35. # ==================== Things `configure' Might Edit ====================
  36.  
  37. CC=@CC@
  38. CPP=@CPP@
  39. C_SWITCH_SYSTEM=@c_switch_system@
  40. LN_S=@LN_S@
  41. CFLAGS=@CFLAGS@
  42. C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
  43. LD_SWITCH_X_SITE=@LD_SWITCH_X_SITE@
  44. YACC=@YACC@
  45.  
  46. ### These help us choose version- and architecture-specific directories
  47. ### to install files in.
  48.  
  49. ### This should be the number of the XEmacs version we're building,
  50. ### like `19.12' or `19.13'.
  51. version=@version@
  52.  
  53. ### This should be the name of the configuration we're building XEmacs
  54. ### for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
  55. configuration=@configuration@
  56.  
  57. ### Libraries which should be edited into lib-src/Makefile.
  58. libsrc_libs=@libsrc_libs@
  59.  
  60. # ==================== Where To Install Things ====================
  61.  
  62. # The default location for installation.  Everything is placed in
  63. # subdirectories of this directory.  The default values for many of
  64. # the variables below are expressed in terms of this one, so you may
  65. # not need to change them.  This defaults to /usr/local.
  66. prefix=@prefix@
  67.  
  68. # Like `prefix', but used for architecture-specific files.
  69. exec_prefix=@exec_prefix@
  70.  
  71. # Where to install XEmacs and other binaries that people will want to
  72. # run directly (like etags).
  73. bindir=@bindir@
  74.  
  75. # Where to install architecture-independent data files.     ${lispdir}
  76. # and ${etcdir} are subdirectories of this.
  77. datadir=@datadir@
  78.  
  79. # Where to install and expect the files that XEmacs modifies as it
  80. # runs.     These files are all architecture-independent. Right now, the
  81. # only such data is the locking directory; ${lockdir} is a
  82. # subdirectory of this.
  83. statedir=@statedir@
  84.  
  85. # Where to install and expect executable files to be run by XEmacs
  86. # rather than directly by users, and other architecture-dependent
  87. # data.     ${archlibdir} is a subdirectory of this.
  88. libdir=@libdir@
  89.  
  90. # Where to install XEmacs's man pages, and what extension they should have.
  91. mandir=@mandir@
  92. manext=.1
  93.  
  94. # Where to install and expect the info files describing XEmacs.    In the
  95. # past, this defaulted to a subdirectory of ${prefix}/lib/xemacs, but
  96. # since there are now many packages documented with the texinfo
  97. # system, it is inappropriate to imply that it is part of XEmacs.
  98. infodir=@infodir@
  99.  
  100. # Where to find the source code.  The source code for XEmacs's C kernel is
  101. # expected to be in ${srcdir}/src, and the source code for XEmacs's
  102. # utility programs is expected to be in ${srcdir}/lib-src.  This is
  103. # set by the configure script's `--srcdir' option.
  104. srcdir=@srcdir@
  105.  
  106. # Tell make where to find source files; this is needed for the makefiles.
  107. VPATH=@srcdir@
  108.  
  109. # ==================== XEmacs-specific directories ====================
  110.  
  111. # These variables hold the values XEmacs will actually use.  They are
  112. # based on the values of the standard Make variables above.
  113.  
  114. # Where to install the lisp files distributed with
  115. # XEmacs.  This includes the XEmacs version, so that the
  116. # lisp files for different versions of XEmacs will install
  117. # themselves in separate directories.
  118. lispdir=@lispdir@
  119.  
  120. # Directories XEmacs should search for lisp files specific
  121. # to this site (i.e. customizations), before consulting
  122. # ${lispdir}.  This should be a colon-separated list of
  123. # directories.
  124. sitelispdir=@sitelispdir@
  125.  
  126. # Where XEmacs will search for its lisp files while
  127. # building.  This is only used during the process of
  128. # compiling XEmacs, to help XEmacs find its lisp files
  129. # before they've been installed in their final location.
  130. # It's usually identical to lispdir, except that the
  131. # entry for the directory containing the installed lisp
  132. # files has been replaced with ../lisp.  This should be a
  133. # colon-separated list of directories.
  134. buildlispdir=${srcdir}/lisp
  135.  
  136. # Where to install the other architecture-independent
  137. # data files distributed with XEmacs (like the tutorial,
  138. # the cookie recipes and the Zippy database). This path
  139. # usually contains the XEmacs version number, so the data
  140. # files for multiple versions of XEmacs may be installed
  141. # at once.
  142. etcdir=@etcdir@
  143.  
  144. # Where to create and expect the locking directory, where
  145. # the XEmacs locking code keeps track of which files are
  146. # currently being edited.
  147. lockdir=@lockdir@
  148.  
  149. # Where to put executables to be run by XEmacs rather than
  150. # the user.  This path usually includes the XEmacs version
  151. # and configuration name, so that multiple configurations
  152. # for multiple versions of XEmacs may be installed at
  153. # once.
  154. archlibdir=@archlibdir@
  155.  
  156. # ==================== Utility Programs for the Build ====================
  157.  
  158. # Allow the user to specify the install program.
  159. INSTALL = @INSTALL@
  160. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  161. INSTALL_DATA = @INSTALL_DATA@
  162.  
  163. # ============================= Targets ==============================
  164.  
  165. # Subdirectories to make recursively.  `lisp' is not included
  166. # because the compiled lisp files are part of the distribution
  167. # and you cannot remake them without installing XEmacs first.
  168. MAKE_SUBDIR = lib-src lwlib dynodump src
  169.  
  170. # Subdirectories that can be made recursively.
  171. SUBDIR = ${MAKE_SUBDIR} man
  172.  
  173. # The makefiles of the directories in $SUBDIR.
  174. SUBDIR_MAKEFILES = lib-src/Makefile lwlib/Makefile dynodump/Makefile src/Makefile man/Makefile
  175.  
  176. # Subdirectories to install, and where they'll go.
  177. # lib-src's makefile knows how to install it, so we don't do that here.
  178. # When installing the info files, we need to do special things to
  179. # avoid nuking an existing dir file, so we don't do that here;
  180. # instead, we have written out explicit code in the `install' targets.
  181. COPYDIR = ${srcdir}/etc ${srcdir}/lisp
  182. COPYDESTS = ${etcdir} ${lispdir}
  183.  
  184. .NO_PARALLEL:    src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR} dump-elcs
  185.  
  186. all:    src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR}
  187.  
  188. # Convenience target for XEmacs beta testers
  189. beta:        clean all-elc
  190.  
  191. # Build XEmacs and recompile out-of-date and missing .elc files along
  192. # the way.
  193. all-elc:    src/paths.h src/Emacs.ad.h lib-src lwlib dump-elcs src
  194.     sh ${srcdir}/lib-src/update-elc.sh
  195.  
  196. # Sub-target for all-elc.
  197. dump-elcs:    FRC.dump-elcs
  198.     cd src; $(MAKE) dump-elcs $(MFLAGS) \
  199.         CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'
  200.  
  201. # The old target.  Remove in 19.13.
  202. dump_elcs:    dump-elcs
  203.  
  204. removenullpaths=sed -e 's/^://' -e 's/:$$//' -e 's/::/:/'
  205.  
  206. # We force the rebuilding of src/paths.h because the user might give
  207. # make different values for the various directories.  Since we use
  208. # move-if-change, src/paths.h only actually changes if the user did
  209. # something notable, so the only unnecessary work we do is in building
  210. # src/paths.h.tmp, which isn't much.
  211. # Note that sed is not in /bin on 386bsd.
  212. src/paths.h: Makefile ${srcdir}/src/paths.h.in FRC.src.paths.h
  213.     @echo "Producing \`src/paths.h' from \`src/paths.h.in'."
  214.     -rm -f src/paths.h.tmp
  215.     @cp ${srcdir}/src/paths.h.in src/paths.h.tmp
  216.     -chmod 0644 src/paths.h.tmp
  217.     @(lispdir=`echo ${lispdir} | ${removenullpaths}` ;        \
  218.       buildlispdir=`echo ${buildlispdir} | ${removenullpaths}`)
  219.     @echo '/* #define PATH_LOADSEARCH "${lispdir}" */' >> src/paths.h.tmp
  220.     @echo '/* #define PATH_EXEC "${archlibdir}" */' >> src/paths.h.tmp
  221.     @echo '/* #define PATH_DATA "${etcdir}" */' >> src/paths.h.tmp
  222.     @echo '/* #define PATH_LOCK "${lockdir}" */' >> src/paths.h.tmp
  223.     @echo '/* #define PATH_INFO "${infodir}" */' >> src/paths.h.tmp
  224.     @sh ${srcdir}/move-if-change src/paths.h.tmp src/paths.h
  225.  
  226. # We have to force the building of Emacs.ad.h as well in order to get it
  227. # updated correctly when VPATH is being used.  Since we use move-if-change,
  228. # it will only actually change if the user modified ${etcdir}/Emacs.ad.
  229. src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad
  230.     @echo "Producing \`src/Emacs.ad.h' from \`etc/Emacs.ad'."
  231.     -rm -f src/Emacs.ad.h
  232.     @(echo "/*    Do not edit this file!" ; \
  233.       echo "      Automatically generated from ${srcdir}/etc/Emacs.ad" ; \
  234.       echo " */" ; \
  235.       /bin/sh ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \
  236.       src/Emacs.ad.h
  237.  
  238. src:    lib-src lwlib dynodump FRC.src
  239. lib-src: FRC.lib-src
  240. lwlib:    FRC.lwlib
  241. dynodump: FRC.dynodump
  242.  
  243. .RECURSIVE: ${SUBDIR}
  244.  
  245. ${SUBDIR}: ${SUBDIR_MAKEFILES} FRC
  246.     cd $@; $(MAKE) all $(MFLAGS) \
  247.         CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'
  248.  
  249. Makefile: ${srcdir}/Makefile.in config.status
  250.     ./config.status
  251.  
  252. src/Makefile: ${srcdir}/src/Makefile.in.in config.status
  253.     ./config.status
  254.  
  255. lib-src/Makefile: ${srcdir}/lib-src/Makefile.in.in config.status
  256.     ./config.status
  257.  
  258. lwlib/Makefile: ${srcdir}/lwlib/Makefile.in.in config.status
  259.     ./config.status
  260.  
  261. dynodump/Makefile: ${srcdir}/dynodump/Makefile.in.in config.status
  262.     ./config.status
  263.  
  264. man/Makefile: ${srcdir}/man/Makefile.in config.status
  265.     ./config.status
  266.  
  267. # ==================== Installation ====================
  268.  
  269. ## If we let lib-src do its own installation, that means we
  270. ## don't have to duplicate the list of utilities to install in
  271. ## this Makefile as well.
  272.  
  273. ## On AIX, use tar xBf.
  274. ## On Xenix, use tar xpf.
  275.  
  276. .PHONY: install install-arch-dep install-arch-indep mkdir
  277.  
  278. ## We delete each directory in ${COPYDESTS} before we copy into it;
  279. ## that way, we can reinstall over directories that have been put in
  280. ## place with their files read-only (perhaps because they are checked
  281. ## into RCS).  In order to make this safe, we make sure that the
  282. ## source exists and is distinct from the destination.
  283. ## We don't depend on `all', but rather on ${MAKE_SUBDIR}, so that we won't
  284. ## ever modify src/paths.h.
  285. install: ${MAKE_SUBDIR} install-arch-dep install-arch-indep;
  286.  
  287. install-arch-dep: mkdir
  288.     (cd lib-src; \
  289.       $(MAKE) install $(MFLAGS) prefix=${prefix} \
  290.         exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
  291.         archlibdir=${archlibdir})
  292.     if [ `(cd ${archlibdir}; /bin/pwd)` != `(cd ./lib-src; /bin/pwd)` ]; \
  293.     then \
  294.        echo "Copying lib-src/DOC-* ..." ; \
  295.        (cd lib-src; tar -cf - DOC-*)|(cd ${archlibdir}; umask 0; tar -xf - ); \
  296.        for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
  297.          rm -rf $${subdir}/RCS ; \
  298.          rm -rf $${subdir}/CVS ; \
  299.          rm -rf $${subdir}/SCCS ; \
  300.          rm -f  $${subdir}/\#* ; \
  301.          rm -f  $${subdir}/*~ ; \
  302.        done ; \
  303.     else true; fi
  304.     ${INSTALL_PROGRAM} src/xemacs ${bindir}/xemacs-${version}
  305.     -chmod 0755 ${bindir}/xemacs-${version}
  306.     rm -f ${bindir}/xemacs
  307.     (cd ${bindir} ; ${LN_S} xemacs-${version} ./xemacs)
  308.  
  309. install-arch-indep: mkdir
  310.     -set ${COPYDESTS} ; \
  311.      for dir in ${COPYDIR} ; do \
  312.        if [ `(cd $$1 && pwd)` != `(cd $${dir} && pwd)` ] ; then \
  313.          echo "rm -rf $$1" ; \
  314.        fi ; \
  315.        shift ; \
  316.      done
  317.     -set ${COPYDESTS} ; \
  318.      mkdir ${COPYDESTS} ; \
  319.      for dir in ${COPYDIR} ; do \
  320.        dest=$$1 ; shift ; \
  321.        [ -d $${dir} ] \
  322.        && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] \
  323.        && (echo "Copying $${dir}..." ; \
  324.            (cd $${dir}; tar -cf - . )|(cd $${dest};umask 022; tar -xf - );\
  325.            chmod 0755 $${dest}; \
  326.            for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
  327.          rm -rf $${subdir}/RCS ; \
  328.          rm -rf $${subdir}/CVS ; \
  329.          rm -rf $${subdir}/SCCS ; \
  330.          rm -f  $${subdir}/\#* ; \
  331.          rm -f  $${subdir}/*~ ; \
  332.            done) ; \
  333.      done
  334.     if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
  335.     then \
  336.       (cd ${srcdir}/info ; \
  337.        if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \
  338.          ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \
  339.        fi ; \
  340.        for f in ange-ftp* cc-mode* cl* dired* ediff* evi* \
  341.             external-widget* forms* gnus* hyperbole* ilisp* info* \
  342.             ispell* lispref* mailcrypt* mh-e* new-users-guide* \
  343.             oo-browser* pcl-cvs* rmail* standards* supercite* \
  344.             term.* termcap* texinfo* viper* vm* w3* xemacs* ; do \
  345.          ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f ; \
  346.          chmod 0644 ${infodir}/$$f; \
  347.        done); \
  348.     else true; fi
  349.     cd ${srcdir}/etc; for page in etags ctags gnuserv ; do \
  350.       ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
  351.       chmod 0644 ${mandir}/$${page}${manext} ; \
  352.     done
  353.  
  354. MAKEPATH=./lib-src/make-path
  355. ### Build all the directories we're going to install XEmacs in.    Since
  356. ### we may be creating several layers of directories (for example,
  357. ### /usr/local/lib/xemacs-19.13/mips-dec-ultrix4.2), we use make-path
  358. ### instead of mkdir.  Not all systems' mkdirs have the `-p' flag.
  359. mkdir: FRC.mkdir
  360.     ${MAKEPATH} ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \
  361.       ${bindir} ${datadir} ${libdir} ${sitelispdir}
  362.     -chmod 0777 ${lockdir}
  363.  
  364. ### Delete all the installed files that the `install' target would
  365. ### create (but not the noninstalled files such as `make all' would
  366. ### create).
  367. ###
  368. ### Don't delete the lisp and etc directories if they're in the source tree.
  369. #### This target has not been updated in sometime and until it is it
  370. #### would be extremely dangerous for anyone to use it.
  371. #uninstall:
  372. #    (cd lib-src;                     \
  373. #     $(MAKE) $(MFLAGS) uninstall            \
  374. #        prefix=${prefix} exec_prefix=${exec_prefix}    \
  375. #        bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
  376. #    for dir in ${lispdir} ${etcdir} ; do         \
  377. #      case `(cd $${dir} ; pwd)` in            \
  378. #        `(cd ${srcdir} ; pwd)`* ) ;;        \
  379. #        * ) rm -rf $${dir} ;;            \
  380. #      esac ;                    \
  381. #      case $${dir} in                \
  382. #        ${datadir}/xemacs/${version}/* )        \
  383. #          rm -rf ${datadir}/xemacs/${version}    \
  384. #        ;;                        \
  385. #      esac ;                    \
  386. #    done
  387. #    (cd ${infodir} && rm -f cl* emacs* forms* info* vip*)
  388. #    (cd ${mandir} && rm -f emacs.1 etags.1 ctags.1)
  389. #    (cd ${bindir} && rm -f emacs-${version} emacs)
  390.  
  391.  
  392. ### Some makes seem to remember that they've built something called FRC,
  393. ### so you can only use a given FRC once per makefile.
  394. FRC FRC.src.paths.h FRC.src FRC.lib-src FRC.lwlib FRC.mkdir FRC.dump-elcs:
  395. FRC.dynodump:
  396. FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean:
  397.  
  398. # ==================== Cleaning up and miscellanea ====================
  399.  
  400. .PHONY: mostlyclean clean distclean realclean extraclean
  401.  
  402. ### `mostlyclean'
  403. ###      Like `clean', but may refrain from deleting a few files that people
  404. ###      normally don't want to recompile.  For example, the `mostlyclean'
  405. ###      target for GCC does not delete `libgcc.a', because recompiling it
  406. ###      is rarely necessary and takes a lot of time.
  407. mostlyclean: FRC.mostlyclean
  408.     (cd src &&     $(MAKE) $(MFLAGS) mostlyclean)
  409.     (cd lib-src && $(MAKE) $(MFLAGS) mostlyclean)
  410.     (cd lwlib &&   $(MAKE) $(MFLAGS) mostlyclean)
  411.     (cd dynodump && $(MAKE) $(MFLAGS) mostlyclean)
  412.     -(cd man &&    $(MAKE) $(MFLAGS) mostlyclean)
  413.  
  414. ### `clean'
  415. ###      Delete all files from the current directory that are normally
  416. ###      created by building the program.  Don't delete the files that
  417. ###      record the configuration.  Also preserve files that could be made
  418. ###      by building, but normally aren't because the distribution comes
  419. ###      with them.
  420. ### 
  421. ###      Delete `.dvi' files here if they are not part of the distribution.
  422. clean: FRC.clean
  423.     (cd src &&     $(MAKE) $(MFLAGS) clean)
  424.     (cd lib-src && $(MAKE) $(MFLAGS) clean)
  425.     (cd lwlib &&   $(MAKE) $(MFLAGS) clean)
  426.     (cd dynodump && $(MAKE) $(MFLAGS) clean)
  427.     -(cd man &&    $(MAKE) $(MFLAGS) clean)
  428.  
  429. ### `distclean'
  430. ###      Delete all files from the current directory that are created by
  431. ###      configuring or building the program.  If you have unpacked the
  432. ###      source and built the program without creating any other files,
  433. ###      `make distclean' should leave only the files that were in the
  434. ###      distribution.
  435. top_distclean=\
  436.     rm -f config.status build-install ; \
  437.     rm -f Makefile ${SUBDIR_MAKEFILES}; \
  438.     (cd lock && rm -f *)
  439. distclean: FRC.distclean
  440.     (cd src &&     $(MAKE) $(MFLAGS) distclean)
  441.     (cd lib-src && $(MAKE) $(MFLAGS) distclean)
  442.     (cd lwlib &&   $(MAKE) $(MFLAGS) distclean)
  443.     (cd dynodump && $(MAKE) $(MFLAGS) distclean)
  444.     -(cd man &&    $(MAKE) $(MFLAGS) distclean)
  445.     -${top_distclean}
  446.  
  447. ### `realclean'
  448. ###      Delete everything from the current directory that can be
  449. ###      reconstructed with this Makefile.  This typically includes
  450. ###      everything deleted by distclean, plus more: C source files
  451. ###      produced by Bison, tags tables, info files, and so on.
  452. ### 
  453. ###      One exception, however: `make realclean' should not delete
  454. ###      `configure' even if `configure' can be remade using a rule in the
  455. ###      Makefile.  More generally, `make realclean' should not delete
  456. ###      anything that needs to exist in order to run `configure' and then
  457. ###      begin to build the program.
  458. realclean: FRC.realclean
  459.     (cd src &&     $(MAKE) $(MFLAGS) realclean)
  460.     (cd lib-src && $(MAKE) $(MFLAGS) realclean)
  461.     (cd lwlib &&   $(MAKE) $(MFLAGS) realclean)
  462.     (cd dynodump && $(MAKE) $(MFLAGS) realclean)
  463.     -(cd man &&    $(MAKE) $(MFLAGS) realclean)
  464.     -${top_distclean}
  465.  
  466. ### This doesn't actually appear in the coding standards, but Karl
  467. ### says GCC supports it, and that's where the configuration part of
  468. ### the coding standards seem to come from.  It's like distclean, but
  469. ### it deletes backup and autosave files too.
  470. extraclean:
  471.     (cd src &&     $(MAKE) $(MFLAGS) extraclean)
  472.     (cd lib-src && $(MAKE) $(MFLAGS) extraclean)
  473.     (cd lwlib &&   $(MAKE) $(MFLAGS) extraclean)
  474.     (cd dynodump && $(MAKE) $(MFLAGS) extraclean)
  475.     -(cd man && $(MAKE) $(MFLAGS) extraclean)
  476.     -(cd lock && rm *)
  477.     -rm -f config.status config-tmp-*
  478.     -rm -f *~ \#*
  479.  
  480. ### Unlocking and relocking.  The idea of these productions is to reduce
  481. ### hassles when installing an incremental tar of XEmacs.  Do `make unlock'
  482. ### before unlocking the file to take the write locks off all sources so
  483. ### that tar xvof will overwrite them without fuss.  Then do `make relock'
  484. ### afterward so that VC mode will know which files should be checked in
  485. ### if you want to mung them.
  486. ###
  487. ### Note: it's no disaster if these productions miss a file or two; tar
  488. ### and VC will swiftly let you know if this happens, and it is easily
  489. ### corrected.
  490. SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \
  491.     README build-install.in configure make-dist move-if-change
  492.  
  493. .PHONY: unlock relock
  494.  
  495. unlock:
  496.     chmod u+w $(SOURCES) cpp/*
  497.     -(cd elisp && chmod u+w Makefile README *.texi)
  498.     (cd etc && $(MAKE) $(MFLAGS) unlock)
  499.     (cd lib-src && $(MAKE) $(MFLAGS) unlock)
  500.     (cd lisp && $(MAKE) $(MFLAGS) unlock)
  501.     (cd lisp/term && chmod u+w README *.el)
  502.     (cd man && chmod u+w *texi* ChangeLog split-man)
  503.     (cd lwlib && chmod u+w *.[ch] Makefile.in.in)
  504.     (cd src && $(MAKE) $(MFLAGS) unlock)
  505.  
  506. relock:
  507.     chmod u-w $(SOURCES) cpp/*
  508.     -(cd elisp && chmod u-w Makefile README *.texi)
  509.     (cd etc && $(MAKE) $(MFLAGS) relock)
  510.     (cd lib-src && $(MAKE) $(MFLAGS) relock)
  511.     (cd lisp && $(MAKE) $(MFLAGS) relock)
  512.     (cd lisp/term && chmod u+w README *.el)
  513.     (cd man && chmod u+w *texi* ChangeLog split-man)
  514.     (cd lwlib && chmod u+w *.[ch] Makefile.in.in)
  515.     (cd src && $(MAKE) $(MFLAGS) relock)
  516.  
  517. TAGS tags:    
  518.     @echo "If you don't have a copy of etags around, then do 'make lib-src' first."
  519.     PATH=`pwd`/lib-src:$$PATH ; cd ${srcdir} ; etags src/*.[ch] `find lisp -name SCCS -prune -o -name RCS -prune -o -name \*.el -print` lwlib/*.[ch]
  520.  
  521. check:
  522.     @echo "We don't have any tests for XEmacs yet."
  523.  
  524. dist:
  525.     cd ${srcdir} && make-dist
  526.  
  527. .PHONY: info dvi
  528. force-info:
  529. info: force-info
  530.     (cd ${srcdir}/man && $(MAKE) $(MFLAGS) info)
  531. dvi:
  532.     (cd ${srcdir}/man && $(MAKE) $(MFLAGS) dvi)
  533.